# 安装pymysql数据库
# pip install pymysql
# host = '47.97.51.55' ,user = 'root',password='123456',database='jiac'
import pymysql
from faker import Faker
from random import choice
faker = Faker(locale='zh_cn')
"""
ip地址：47.97.51.55
账号：root
密码：123456
数据库名称
"""
# 创建数据库对象
db = pymysql.connect(host='47.99.138.49',user='root',password='123456',database='jiac'
                     ,cursorclass =pymysql.cursors.DictCursor)
# 创建游标，游标相当于数据库提交按钮
cursor = db.cursor()
# 创建一个表
"""
cursor.execute('create table student(id int primary key auto_increment,name varchar(30) not null,'
               'clsid varchar(30))')
db.commit()
"""
"""
游标是用来执行sql的
对表有改动的，需要用到数据库对象提交
"""

# 插入数据
"""
for i in range(100):
    name = faker.name()
    clsid = choice(['1601','1602','1603'])
    cursor.execute(f'insert into student(name,clsid) values("{name}","{clsid}")')
db.commit()     # 提交对数据库的改动
"""

# 查询数据库：查符合条件的全部数据
"""
cursor.execute('select * from student')
all_data = cursor.fetchall()
print(all_data)
"""
# 查询数据库：只返回一条符合条件的数据
"""
cursor.execute("select * from student")
one_data = cursor.fetchone()
"""
"""
实际上表里有100条数据，
但是我用的fetchone方法，
所以只会返回符合条件的其中一条数据
"""
# print(one_data)

# 删除数据库数据
"""
cursor.execute("delete from student where id=10")
db.commit()     # 因为对表发生了改变，所以需要提交数据对象
"""

# 更新
cursor.execute("update student set name='秦忠阳' where id=1")
db.commit()     # 因为更新也是改变了数据库值，所以需要提交

# 关闭数据库
cursor.close()
db.close()





